//input functions
static PyObject *
pyInput_GetMousePos(PyObject *self,PyObject *args)
{
	CHECK_HGE;
	float x,y;
	hge->Input_GetMousePos(&x,&y);
	return Py_BuildValue("ff",x,y);
}

static PyObject *
pyInput_SetMousePos(PyObject *self,PyObject *args)
{
	CHECK_HGE;
	float x,y;
	if (!PyArg_ParseTuple(args,"ff:Input_SetMousePos",&x,&y))
		return 0;
	hge->Input_SetMousePos(x,y);
	Py_RETURN_NONE;
}

static PyObject *
pyInput_GetMouseWheel(PyObject *self,PyObject *args)
{
	CHECK_HGE;
	return PyInt_FromLong(hge->Input_GetMouseWheel());
}

static PyObject *
pyInput_IsMouseOver(PyObject *self,PyObject *args)
{
	CHECK_HGE;
	return PyBool_FromLong(hge->Input_IsMouseOver());
}

static PyObject *
pyInput_KeyDown(PyObject *self,PyObject *args)
{
	CHECK_HGE;
	int key;
	if (!PyArg_ParseTuple(args,"i:Input_KeyDown",&key)) return 0;
	return PyBool_FromLong(hge->Input_KeyDown(key));
}

static PyObject *
pyInput_KeyUp(PyObject *self,PyObject *args)
{
	CHECK_HGE;
	int key;
	if (!PyArg_ParseTuple(args,"i:Input_KeyUp",&key)) return 0;
	return PyBool_FromLong(hge->Input_KeyUp(key));
}

static PyObject *
pyInput_GetKeyName(PyObject *self,PyObject *args)
{
	CHECK_HGE;
	int key;
	if (!PyArg_ParseTuple(args,"i:Input_GetKeyName",&key)) return 0;
	return PyString_FromString(hge->Input_GetKeyName(key));
}

static PyObject *
pyInput_GetKeyState(PyObject *self,PyObject *args)
{
	CHECK_HGE;
	int key;
	if (!PyArg_ParseTuple(args,"i:Input_GetKeyState",&key)) return 0;
	return PyBool_FromLong(hge->Input_GetKeyState(key));
}

static PyObject *
pyInput_GetKey(PyObject *self,PyObject *args)
{
	CHECK_HGE;
	return PyInt_FromLong(hge->Input_GetKey());
}

static PyObject *
pyInput_GetChar(PyObject *self,PyObject *args)
{
	CHECK_HGE;
	char c = (char)hge->Input_GetChar();
	return PyString_FromStringAndSize(&c,1);
}

static PyObject *
pyInput_GetEvent(PyObject *self,PyObject *args)
{
	CHECK_HGE;
	pyInputEvent * obj = pyNewInputEvent();
	if (!obj) return 0;
	if (!hge->Input_GetEvent(&obj->event))
	{
		Py_DECREF(obj);
		Py_RETURN_NONE;
	}
	return (PyObject*)obj;
}